There are many types of electronic devices. Included among these types of devices are portable electronic devices that have functionalities similar to those of desktop computers. For example, such electronic devices may have a memory, processor, display screen, keyboard, installed software applications, communication components, and so forth. Moreover, such electronic devices may also include an operating system.
In certain situations, electronic devices can be customized differently according to the respective needs of their users. For instance, a group of users may require their electronic devices to have certain software (or hardware) features, while another group of users having the same type of electronic devices may require their electronic devices to have some different (or completely different) software features. This customized configuration of many individual electronic devices can be a tedious and expensive process, particularly in manufacturing situations where “time is money” with regards to mass-producing electronic devices to consumers in a timely manner.
As an example, one technique for customization is to install all possible software features into every electronic device, and then allow consumers to use only the specific software features that they need, while other installed software features remain installed but unused. In effect, this is really not customization of an electronic device, and moreover, installing all possible software features in electronic devices is an inefficient approach.
Additionally, existing techniques for customized configuration (including software installation) involve manual human intervention to configure each electronic device. Manual configuration is tedious and time consuming, and thus ultimately costly.
Various customization products further illustrate these points. For example, some electronic devices use the Windows® CE operating system from Microsoft Corporation of Redmond, Wash. Windows® CE Platform Builder and WCELoad.exe are two products that allow customization of Windows® CE devices. Platform Builder allows for extensive customization of a Windows® CE device before an operating system image has been created, but no customization afterwards. Thus, if subsequent additional customization is needed, the operating system has to be rebuilt.
This approach is inflexible, since it does not allow existing capabilities to be extended. That is, this approach forces manufactures to install all possible software features into an electronic device, and does not allow for other customization changes that were not known ahead of time when the operating system image was created.
In comparison, WCELoad.exe will install cabinet (CAB) files that have been created by parties offering software, but these CAB files must be executed on the electronic device before customization can be performed. Use of WCELoad.exe allows for customization after the operating system image has been created and is running, but some user intervention is required to perform the customization, including verifying that the installed software is operating properly.